Auth0のExtensionアプリでユーザーを一括インポート・エクスポートを試してみた
最初
Auth0でユーザー管理する際、Management APIを使う以外、Auth0 User Import/Export extensionを使って、簡単にユーザーのインポートとエクスポートをすることができます。Auth0 User Import/Export extensionを試してみた手順をブログにしてみたいと思います。
手順
Extensionをテナントに追加
テナントのダッシュボードで、左側のExtension
に入って、All Extensions
にUser Import/Export Application
をインストールします。
User Export
全てのデータベースのAll connections
か、エクスポートしたいデータベースを選んでEXPORT x USERS
でユーザーエクスポートを行います。
ダウンロードしたJSONファイルはこういう感じです。
User Import
ユーザーをインポートしたい時、さっきAuth0でエクスポートのフォマットのままでは[]
と,
がない、と一部情報が必要ないためエラーがでます。
[ {"user_id":"123456789123456789","email":"testaccount1@test.jp","name":"test1","nickname":"test1nickname"}, {"user_id":"123456789123456780","email":"testaccount2@test.jp","name":"test2","nickname":"test2nickname"} ]
上記のJSONテキストのように、Extensionでユーザーインポートをできます。
このようなフォマットでユーザー情報を記入し、.json
ファイルとして保存します。
Extensionのimport
ページに入って、作った.json
ファイルをドロップし、インポート先のデータベースを選んで、START IMPORTING USERS
を押します。
少し待ってからCompleted
の状態になって、ユーザーインポートが完成となります。(エラーなどが出たら、History
ページで詳細を確認できます。pending
の場合は、History
ページでサークル矢印ボタンで再実行ができます)
インポートした二つユーザーはUser Managment -> Users
で確認できてます。
{ "email": "testaccount1@test.jp", "email_verified": false, "name": "test1", "nickname": "test1nickname", "user_metadata": {}, "created_at": "2022-08-30T14:22:18.272Z", "updated_at": "2022-08-30T14:22:18.272Z", "identities": [ { "provider": "auth0", "connection": "some-db", "isSocial": false, "user_id": "123456789123456789" } ], "user_id": "auth0|123456789123456789", "picture": "https://secure.gravatar.com/avatar/ce590c495747d8c594bc3b5cbac1bb0c?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png", "blocked_for": [], "guardian_authenticators": [] }
インポートされたユーザーのRAWデータはこういう感じです。
最後
Auth0 Import/Export ExtensionはManagement APIをラップして作られたアプリらしいですので、裏側やってることはManagement APIと一緒だと思います。Management APIの方が自由度が高いですか、普通のUser Import/ExportはこのExtensionで十分ではないでしょうかと思います。
以上です。